package field;

import adapter.Adapter;
import field.Luck;

public class LuckController {
	
/**
 * Tildeler en konsekvens, når spiller lander på prøv lykken. 
 * @param luck
 * @return
 */
	
	public int[] getLucky(Luck luck){
		int[] output = new int[3];
		int randomInt = luck.getNumber();		
		output = luckyCard(randomInt,luck);
		return output;
	}

/**
 * Tager tilfældigt nummer mellem 1-5 og udfører case 1-5 herefter.  	
 * Case 1+2 trækker beløb mellem 200 og 3000 fra spiller
 * case 3+4 tildeler beløb mellem 200 og 3000 til spiller
 * case 5 rykker spilleren 1-6 pladser frem 
 */
	
	
	public int[] luckyCard(int number,Luck luck){	
		int[] output = new int[3];
		switch (number){
		case 1: {
			output[0]=(luck.getAmount())*(-1); //Beløb der fratrækkes/tildeles spillers konto 
			output[1]=0;	//hvor mange pladser spiller skal flyttes
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-1) + " " + output[0] + " kroner."); //Henter beskrivelse af lykkekort 
		}
		break;
		case 2: {
			output[0]=(luck.getAmount())*(-1);
			output[1]=0;
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-1) + " " + output[0] + " kroner.");
		}
		break;
		case 3: {
			output[0]=luck.getAmount();
			output[1]=0;
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-1) + " " + output[0] + " kroner.");
		}
		break;
		case 4: {
			output[0]=luck.getAmount();
			output[1]=0;
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-1) + " " + output[0] + " kroner.");
		}
		break;
		case 5: {
			output[0]=0;
			output[1]=luck.getPos();
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-1));
		}
		break;
		case 6: {
			output[0]=0;
			output[1]=luck.getPos();
			Adapter adapter = new Adapter();
			adapter.showMessage(luck.getLuckDesc(number-2));
		}
		break;
		default:{
			System.out.println("Fejl i LuckController switch");
		}
		}
		output[2]=0;
		return output;
	}	
}
